static const q31_t in_q31[256] = {
    0x7EC0DA9F, 0x300D8567, 0x2BB3A36E, 0x7136A168,
    0x6520B7C7, 0x4B02E46B, 0x00F28BF3, 0x53AF1EED,
    0x26DACA64, 0x61E42533, 0x289C2195, 0x320B10A6,
    0x4B458BC8, 0x3EFC205D, 0x186D0FD2, 0x492D543D,
    0x766CF7FC, 0x008E7BAA, 0x23C340ED, 0x78A2DB82,
    0x2A3F6DA9, 0x0D3BA980, 0x5FBCBDDE, 0x6156807C,
    0x77C1054B, 0x2D2A3FB6, 0x319FD45F, 0x40E4CFE0,
    0x1E57E339, 0x10366F57, 0x5F47B4E1, 0x085EEE46,
    0x24FCC76A, 0x22E956F1, 0x264624C9, 0x68E5C459,
    0x1453E2D4, 0x0FA7A730, 0x65B8CC3C, 0x5B14E87D,
    0x1701BA00, 0x3762D3BD, 0x687DD069, 0x53A197BD,
    0x2F57F76B, 0x4F80E077, 0x57AF1A55, 0x066103DA,
    0x2EE7F54D, 0x32AD8B74, 0x4FC8905A, 0x71E4D3A6,
    0x6A686669, 0x20C8AFB3, 0x561691C1, 0x6E3610FF,
    0x54F805CE, 0x67EEFB61, 0x6325DE47, 0x3ACF0D51,
    0x4BB1E9BC, 0x16DA5132, 0x1DC24B7F, 0x46D39B7D,
    0x0748D99A, 0x67507907, 0x71C2A0CE, 0x66A12B5E,
    0x5EAABE83, 0x36C22505, 0x5439ED56, 0x126AD140,
    0x1948F636, 0x7F409FEF, 0x18F56483, 0x38AB99E5,
    0x3E1BF383, 0x538C5818, 0x3596884D, 0x40D0E7E8,
    0x1AC31B77, 0x6CF092DD, 0x014A8B8A, 0x7F551DEA,
    0x496254F2, 0x6C461888, 0x3B6D079C, 0x428B6A46,
    0x6048E928, 0x4FB8D370, 0x33D83670, 0x1A90FCAC,
    0x0D271BEC, 0x24B4DE7B, 0x0D3ECB47, 0x433B9F97,
    0x528B0A89, 0x63556DE3, 0x7C7929E5, 0x0659F9FF,
    0x702082A0, 0x5798C74A, 0x7D960034, 0x4B681785,
    0x402424B5, 0x1D60440C, 0x6ACC3AA5, 0x250C518A,
    0x6DCE1A85, 0x66763618, 0x3CDB940A, 0x3DD502EB,
    0x1D0875CE, 0x2B4BB5CC, 0x7BDC1788, 0x0F557C39,
    0x1068867B, 0x3A2302E7, 0x3731F7E3, 0x1AA32A53,
    0x2E2B9E2A, 0x70E827E4, 0x5D901AF0, 0x386B8802,
    0x5FA445A9, 0x20164734, 0x0EB4BF42, 0x1D9436E2,
    0x1D303CD8, 0x21F57E58, 0x68536562, 0x6624E4E5,
    0x387D3164, 0x5FADDABE, 0x36CC936A, 0x7DE389A8,
    0x68F2A47E, 0x31B8B7DA, 0x421638B0, 0x5BC0179D,
    0x7FA4BF39, 0x5C701CFE, 0x054D8A1D, 0x71C91AB5,
    0x062477BA, 0x719A957E, 0x09F31E9D, 0x509616E3,
    0x5E7209E6, 0x569D8B13, 0x44F829E3, 0x5F9D760E,
    0x64552B0B, 0x14DC7F16, 0x0EDA6C23, 0x7418AB03,
    0x7F594927, 0x0FB0C1D0, 0x5290CA0C, 0x668F298D,
    0x651FC58F, 0x11127EB0, 0x19FCFC93, 0x2CFDE885,
    0x30E5C31E, 0x300DBB85, 0x31EF4F9F, 0x26D1F262,
    0x7FFFFFFF, 0x1DE7A255, 0x0E10AA1A, 0x40569908,
    0x7AE61A22, 0x69F5C66F, 0x401FB521, 0x40CB62A5,
    0x42FEE3C4, 0x245AB85D, 0x2C4641DB, 0x1CF200FF,
    0x1117E2F5, 0x30FE9091, 0x3451FA7B, 0x141A9887,
    0x1BCC90DA, 0x3D085542, 0x1B0A0D05, 0x30DD6FC6,
    0x39BEFA2C, 0x1AB4D70F, 0x4C23A981, 0x325A4A0E,
    0x08D0869C, 0x1E10200B, 0x30A9C66F, 0x7C5EB84B,
    0x208D9434, 0x2A29F93F, 0x4AC7FAC3, 0x7225746B,
    0x51E325F3, 0x565BEE9F, 0x0C726E6E, 0x64BB53B2,
    0x16CF5076, 0x50555E8E, 0x1241BFCE, 0x7CC7F9CB,
    0x29CAF376, 0x004BE8C0, 0x4F221E3D, 0x4DD7D95A,
    0x24F96D3C, 0x40C2190F, 0x2864E88C, 0x57829007,
    0x4AD3F9B2, 0x6D76E399, 0x29B3AE51, 0x33F7A257,
    0x406A541C, 0x73A906E1, 0x2D247E53, 0x1EE346D9,
    0x1016E2E7, 0x77296AB5, 0x0D2CE0F4, 0x35AAC25B,
    0x1ABB0B51, 0x3E3DC093, 0x32C05430, 0x0B284854,
    0x5AD3ED27, 0x7B27254C, 0x74E2E388, 0x475A4B56,
    0x12A024CC, 0x047EACBC, 0x71C45F87, 0x1E983936,
    0x5D043868, 0x6EA935A8, 0x1254F5AD, 0x742915B4,
    0x55C51426, 0x14CBDAD3, 0x0C76C37C, 0x497187E5,
    0x7B5AFF52, 0x2E455C16, 0x51FD82D8, 0x0BB487B1,
    0x1CAB4585, 0x40038105, 0x5A81393B, 0x4464EC3B
    };

static const uint32_t ref_f32[256] = {
    0x3f7d81b5, 0x3ec03616, 0x3eaece8e, 0x3f626d43,
    0x3f4a4170, 0x3f1605c9, 0x3bf28bf3, 0x3f275e3e,
    0x3e9b6b2a, 0x3f43c84a, 0x3ea27086, 0x3ec82c43,
    0x3f168b18, 0x3efbf081, 0x3e43687f, 0x3f125aa8,
    0x3f6cd9f0, 0x3b8e7baa, 0x3e8f0d04, 0x3f7145b7,
    0x3ea8fdb7, 0x3dd3ba98, 0x3f3f797c, 0x3f42ad01,
    0x3f6f820b, 0x3eb4a8ff, 0x3ec67f51, 0x3f01c9a0,
    0x3e72bf1a, 0x3e01b37b, 0x3f3e8f6a, 0x3d85eee4,
    0x3e93f31e, 0x3e8ba55c, 0x3e991893, 0x3f51cb89,
    0x3e229f17, 0x3dfa7a73, 0x3f4b7198, 0x3f3629d1,
    0x3e380dd0, 0x3edd8b4f, 0x3f50fba1, 0x3f27432f,
    0x3ebd5fde, 0x3f1f01c1, 0x3f2f5e35, 0x3d4c207b,
    0x3ebb9fd5, 0x3ecab62e, 0x3f1f9121, 0x3f63c9a7,
    0x3f54d0cd, 0x3e8322bf, 0x3f2c2d24, 0x3f5c6c22,
    0x3f29f00c, 0x3f4fddf7, 0x3f464bbd, 0x3eeb3c35,
    0x3f1763d3, 0x3e36d28a, 0x3e6e125c, 0x3f0da737,
    0x3d691b33, 0x3f4ea0f2, 0x3f638542, 0x3f4d4257,
    0x3f3d557d, 0x3edb0894, 0x3f2873db, 0x3e13568a,
    0x3e4a47b2, 0x3f7e8140, 0x3e47ab24, 0x3ee2ae68,
    0x3ef86fce, 0x3f2718b0, 0x3ed65a21, 0x3f01a1d0,
    0x3e5618dc, 0x3f59e126, 0x3c2545c5, 0x3f7eaa3c,
    0x3f12c4aa, 0x3f588c31, 0x3eedb41e, 0x3f0516d5,
    0x3f4091d2, 0x3f1f71a7, 0x3ecf60da, 0x3e5487e5,
    0x3dd271bf, 0x3e92d37a, 0x3dd3ecb4, 0x3f06773f,
    0x3f251615, 0x3f46aadc, 0x3f78f254, 0x3d4b3f40,
    0x3f604105, 0x3f2f318f, 0x3f7b2c00, 0x3f16d02f,
    0x3f004849, 0x3e6b0220, 0x3f559875, 0x3e943146,
    0x3f5b9c35, 0x3f4cec6c, 0x3ef36e50, 0x3ef7540c,
    0x3e6843ae, 0x3ead2ed7, 0x3f77b82f, 0x3df557c4,
    0x3e034434, 0x3ee88c0c, 0x3edcc7e0, 0x3e551953,
    0x3eb8ae79, 0x3f61d050, 0x3f3b2036, 0x3ee1ae20,
    0x3f3f488b, 0x3e80591d, 0x3deb4bf4, 0x3e6ca1b7,
    0x3e6981e7, 0x3e87d5f9, 0x3f50a6cb, 0x3f4c49ca,
    0x3ee1f4c6, 0x3f3f5bb5, 0x3edb324e, 0x3f7bc713,
    0x3f51e549, 0x3ec6e2df, 0x3f042c71, 0x3f37802f,
    0x3f7f497e, 0x3f38e03a, 0x3d29b144, 0x3f639235,
    0x3d448ef7, 0x3f63352b, 0x3d9f31ea, 0x3f212c2e,
    0x3f3ce414, 0x3f2d3b16, 0x3f09f054, 0x3f3f3aec,
    0x3f48aa56, 0x3e26e3f9, 0x3deda6c2, 0x3f683156,
    0x3f7eb292, 0x3dfb0c1d, 0x3f252194, 0x3f4d1e53,
    0x3f4a3f8b, 0x3e0893f6, 0x3e4fe7e5, 0x3eb3f7a2,
    0x3ec3970c, 0x3ec036ee, 0x3ec7bd3e, 0x3e9b47ca,
    0x3f800000, 0x3e6f3d13, 0x3de10aa2, 0x3f00ad32,
    0x3f75cc34, 0x3f53eb8d, 0x3f003f6a, 0x3f0196c5,
    0x3f05fdc8, 0x3e916ae1, 0x3eb11907, 0x3e679008,
    0x3e08bf18, 0x3ec3fa42, 0x3ed147ea, 0x3e20d4c4,
    0x3e5e6487, 0x3ef42155, 0x3e585068, 0x3ec375bf,
    0x3ee6fbe9, 0x3e55a6b8, 0x3f184753, 0x3ec96928,
    0x3d8d086a, 0x3e708100, 0x3ec2a71a, 0x3f78bd71,
    0x3e823651, 0x3ea8a7e5, 0x3f158ff6, 0x3f644ae9,
    0x3f23c64c, 0x3f2cb7dd, 0x3dc726e7, 0x3f4976a7,
    0x3e367a84, 0x3f20aabd, 0x3e120dfe, 0x3f798ff4,
    0x3ea72bce, 0x3b17d180, 0x3f1e443c, 0x3f1bafb3,
    0x3e93e5b5, 0x3f018432, 0x3ea193a2, 0x3f2f0520,
    0x3f15a7f3, 0x3f5aedc7, 0x3ea6ceb9, 0x3ecfde89,
    0x3f00d4a8, 0x3f67520e, 0x3eb491f9, 0x3e771a37,
    0x3e00b717, 0x3f6e52d5, 0x3dd2ce0f, 0x3ed6ab09,
    0x3e55d85b, 0x3ef8f702, 0x3ecb0151, 0x3db28485,
    0x3f35a7da, 0x3f764e4b, 0x3f69c5c7, 0x3f0eb497,
    0x3e150126, 0x3d0fd597, 0x3f6388bf, 0x3e74c1ca,
    0x3f3a0871, 0x3f5d526b, 0x3e12a7ad, 0x3f68522b,
    0x3f2b8a28, 0x3e265ed7, 0x3dc76c38, 0x3f12e310,
    0x3f76b5ff, 0x3eb91570, 0x3f23fb06, 0x3dbb487b,
    0x3e655a2c, 0x3f000702, 0x3f350272, 0x3f08c9d8
    };

static const q15_t ref_q15[256] = {
    0x7EC1, 0x300E, 0x2BB4, 0x7137, 0x6521, 0x4B03, 0x00F3, 0x53AF,
    0x26DB, 0x61E4, 0x289C, 0x320B, 0x4B46, 0x3EFC, 0x186D, 0x492D,
    0x766D, 0x008E, 0x23C3, 0x78A3, 0x2A3F, 0x0D3C, 0x5FBD, 0x6157,
    0x77C1, 0x2D2A, 0x31A0, 0x40E5, 0x1E58, 0x1036, 0x5F48, 0x085F,
    0x24FD, 0x22E9, 0x2646, 0x68E6, 0x1454, 0x0FA8, 0x65B9, 0x5B15,
    0x1702, 0x3763, 0x687E, 0x53A2, 0x2F58, 0x4F81, 0x57AF, 0x0661,
    0x2EE8, 0x32AE, 0x4FC9, 0x71E5, 0x6A68, 0x20C9, 0x5617, 0x6E36,
    0x54F8, 0x67EF, 0x6326, 0x3ACF, 0x4BB2, 0x16DA, 0x1DC2, 0x46D4,
    0x0749, 0x6750, 0x71C3, 0x66A1, 0x5EAB, 0x36C2, 0x543A, 0x126B,
    0x1949, 0x7F41, 0x18F5, 0x38AC, 0x3E1C, 0x538C, 0x3597, 0x40D1,
    0x1AC3, 0x6CF1, 0x014B, 0x7F55, 0x4962, 0x6C46, 0x3B6D, 0x428B,
    0x6049, 0x4FB9, 0x33D8, 0x1A91, 0x0D27, 0x24B5, 0x0D3F, 0x433C,
    0x528B, 0x6355, 0x7C79, 0x065A, 0x7021, 0x5799, 0x7D96, 0x4B68,
    0x4024, 0x1D60, 0x6ACC, 0x250C, 0x6DCE, 0x6676, 0x3CDC, 0x3DD5,
    0x1D08, 0x2B4C, 0x7BDC, 0x0F55, 0x1069, 0x3A23, 0x3732, 0x1AA3,
    0x2E2C, 0x70E8, 0x5D90, 0x386C, 0x5FA4, 0x2016, 0x0EB5, 0x1D94,
    0x1D30, 0x21F5, 0x6853, 0x6625, 0x387D, 0x5FAE, 0x36CD, 0x7DE4,
    0x68F3, 0x31B9, 0x4216, 0x5BC0, 0x7FA5, 0x5C70, 0x054E, 0x71C9,
    0x0624, 0x719B, 0x09F3, 0x5096, 0x5E72, 0x569E, 0x44F8, 0x5F9D,
    0x6455, 0x14DC, 0x0EDA, 0x7419, 0x7F59, 0x0FB1, 0x5291, 0x668F,
    0x6520, 0x1112, 0x19FD, 0x2CFE, 0x30E6, 0x300E, 0x31EF, 0x26D2,
    0x7FFF, 0x1DE8, 0x0E11, 0x4057, 0x7AE6, 0x69F6, 0x4020, 0x40CB,
    0x42FF, 0x245B, 0x2C46, 0x1CF2, 0x1118, 0x30FF, 0x3452, 0x141B,
    0x1BCD, 0x3D08, 0x1B0A, 0x30DD, 0x39BF, 0x1AB5, 0x4C24, 0x325A,
    0x08D1, 0x1E10, 0x30AA, 0x7C5F, 0x208E, 0x2A2A, 0x4AC8, 0x7225,
    0x51E3, 0x565C, 0x0C72, 0x64BB, 0x16CF, 0x5055, 0x1242, 0x7CC8,
    0x29CB, 0x004C, 0x4F22, 0x4DD8, 0x24F9, 0x40C2, 0x2865, 0x5783,
    0x4AD4, 0x6D77, 0x29B4, 0x33F8, 0x406A, 0x73A9, 0x2D24, 0x1EE3,
    0x1017, 0x7729, 0x0D2D, 0x35AB, 0x1ABB, 0x3E3E, 0x32C0, 0x0B28,
    0x5AD4, 0x7B27, 0x74E3, 0x475A, 0x12A0, 0x047F, 0x71C4, 0x1E98,
    0x5D04, 0x6EA9, 0x1255, 0x7429, 0x55C5, 0x14CC, 0x0C77, 0x4972,
    0x7B5B, 0x2E45, 0x51FE, 0x0BB5, 0x1CAB, 0x4004, 0x5A81, 0x4465
    };

static const q7_t ref_q7[256] = {
    0x7F, 0x30, 0x2C, 0x71, 0x65, 0x4B, 0x01, 0x54,
    0x27, 0x62, 0x29, 0x32, 0x4B, 0x3F, 0x18, 0x49,
    0x76, 0x01, 0x24, 0x79, 0x2A, 0x0D, 0x60, 0x61,
    0x78, 0x2D, 0x32, 0x41, 0x1E, 0x10, 0x5F, 0x08,
    0x25, 0x23, 0x26, 0x69, 0x14, 0x10, 0x66, 0x5B,
    0x17, 0x37, 0x68, 0x54, 0x2F, 0x50, 0x58, 0x06,
    0x2F, 0x33, 0x50, 0x72, 0x6A, 0x21, 0x56, 0x6E,
    0x55, 0x68, 0x63, 0x3B, 0x4C, 0x17, 0x1E, 0x47,
    0x07, 0x67, 0x72, 0x67, 0x5F, 0x37, 0x54, 0x12,
    0x19, 0x7F, 0x19, 0x39, 0x3E, 0x54, 0x36, 0x41,
    0x1B, 0x6D, 0x01, 0x7F, 0x49, 0x6C, 0x3B, 0x43,
    0x60, 0x50, 0x34, 0x1B, 0x0D, 0x25, 0x0D, 0x43,
    0x53, 0x63, 0x7C, 0x06, 0x70, 0x58, 0x7E, 0x4B,
    0x40, 0x1D, 0x6B, 0x25, 0x6E, 0x66, 0x3D, 0x3E,
    0x1D, 0x2B, 0x7C, 0x0F, 0x10, 0x3A, 0x37, 0x1B,
    0x2E, 0x71, 0x5E, 0x38, 0x60, 0x20, 0x0F, 0x1E,
    0x1D, 0x22, 0x68, 0x66, 0x38, 0x60, 0x37, 0x7E,
    0x69, 0x32, 0x42, 0x5C, 0x7F, 0x5C, 0x05, 0x72,
    0x06, 0x72, 0x0A, 0x51, 0x5E, 0x57, 0x45, 0x60,
    0x64, 0x15, 0x0F, 0x74, 0x7F, 0x10, 0x53, 0x67,
    0x65, 0x11, 0x1A, 0x2D, 0x31, 0x30, 0x32, 0x27,
    0x7F, 0x1E, 0x0E, 0x40, 0x7B, 0x6A, 0x40, 0x41,
    0x43, 0x24, 0x2C, 0x1D, 0x11, 0x31, 0x34, 0x14,
    0x1C, 0x3D, 0x1B, 0x31, 0x3A, 0x1B, 0x4C, 0x32,
    0x09, 0x1E, 0x31, 0x7C, 0x21, 0x2A, 0x4B, 0x72,
    0x52, 0x56, 0x0C, 0x65, 0x17, 0x50, 0x12, 0x7D,
    0x2A, 0x00, 0x4F, 0x4E, 0x25, 0x41, 0x28, 0x58,
    0x4B, 0x6D, 0x2A, 0x34, 0x40, 0x74, 0x2D, 0x1F,
    0x10, 0x77, 0x0D, 0x36, 0x1B, 0x3E, 0x33, 0x0B,
    0x5B, 0x7B, 0x75, 0x47, 0x13, 0x04, 0x72, 0x1F,
    0x5D, 0x6F, 0x12, 0x74, 0x56, 0x15, 0x0C, 0x49,
    0x7B, 0x2E, 0x52, 0x0C, 0x1D, 0x40, 0x5B, 0x44
    };

